diff -rup --new-file baseline/fsf/binutils/bfd/configure.host gg/fsf/binutils/bfd/configure.host
--- baseline/fsf/binutils/bfd/configure.host	Fri May  1 08:48:05 1998
+++ gg/fsf/binutils/bfd/configure.host	Sun Aug 23 00:00:00 1998
@@ -44,6 +44,7 @@ mips*-*-sysv*)		HDEFINES="-G 4" ;;
 mips*-*-riscos*)	HDEFINES="-G 4" ;;
 
 m68*-hp-hpux*)		HDEFINES=-DHOST_HP300HPUX ;;
+m68*-*-amigaos*)	HDEFINES=-mstackextend ;;
 
 *-*-solaris*)		HOST_64BIT_TYPE="long long"
 			HOST_U_64BIT_TYPE="unsigned long long"
diff -rup --new-file baseline/fsf/binutils/config/mh-amigaos gg/fsf/binutils/config/mh-amigaos
--- baseline/fsf/binutils/config/mh-amigaos	Wed Dec 31 17:00:00 1969
+++ gg/fsf/binutils/config/mh-amigaos	Sun Aug 23 00:00:00 1998
@@ -0,0 +1,13 @@
+# Host makefile fragment for Commodore Amiga running AmigaOS.
+
+# There is no standard system compiler.  Assume using GNU C.
+CC = gcc
+CFLAGS = -g -O2 -mstackextend
+
+# We have both types of links under AmigaOS with GNU
+# utils, however the links need to be made in canonical
+# AmigaOS format (foo:bar/bell/file) rather than UNIX
+# format (/foo/bar/bell/file).  When this is fixed, then
+# these can go away.
+SYMLINK = cp
+HARDLINK = cp
diff -rup --new-file baseline/fsf/binutils/config.guess gg/fsf/binutils/config.guess
--- baseline/fsf/binutils/config.guess	Fri May  1 08:48:46 1998
+++ gg/fsf/binutils/config.guess	Sun Aug 23 00:00:00 1998
@@ -112,6 +112,9 @@ EOF
     amiga:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit 0 ;;
     arc64:OpenBSD:*:*)
 	echo mips64el-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
@@ -795,6 +798,9 @@ EOF
 	exit 0 ;;
     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
 	echo powerpc-apple-beos
+	exit 0 ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
 	exit 0 ;;
 esac
 
diff -rup --new-file baseline/fsf/binutils/config.sub gg/fsf/binutils/config.sub
--- baseline/fsf/binutils/config.sub	Fri May  1 08:48:46 1998
+++ gg/fsf/binutils/config.sub	Sun Aug 23 00:00:00 1998
@@ -287,11 +287,11 @@ case $basic_machine in
 		os=-sysv
 		;;
 	amiga | amiga-*)
-		basic_machine=m68k-cbm
+		basic_machine=m68k-unknown
 		;;
-	amigados)
-		basic_machine=m68k-cbm
-		os=-amigados
+	amigaos)
+		basic_machine=m68k-unknown
+		os=-amigaos
 		;;
 	amigaunix | amix)
 		basic_machine=m68k-cbm
@@ -925,7 +925,7 @@ case $os in
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
+	      | -amigaos* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
@@ -1098,7 +1098,7 @@ case $basic_machine in
 		os=-sysv
 		;;
 	*-cbm)
-		os=-amigados
+		os=-amigaos
 		;;
 	*-dg)
 		os=-dgux
@@ -1180,9 +1180,6 @@ case $basic_machine in
 				;;
 			-aix*)
 				vendor=ibm
-				;;
-			-beos*)						# CYGNUS LOCAL
-				vendor=be
 				;;
 			-hpux*)
 				vendor=hp
diff -rup --new-file baseline/fsf/binutils/libiberty/xmalloc.c gg/fsf/binutils/libiberty/xmalloc.c
--- baseline/fsf/binutils/libiberty/xmalloc.c	Fri May  1 08:47:56 1998
+++ gg/fsf/binutils/libiberty/xmalloc.c 	Sun Aug 23 00:00:00 1998
@@ -53,7 +53,7 @@ xmalloc_set_program_name (s)
      const char *s;
 {
   name = s;
-#if ! defined (_WIN32) || defined (__CYGWIN32__)
+#if defined (HAVE_SBRK) && (! defined (_WIN32) || defined (__CYGWIN32__))
   /* Win32 ports other than cygwin32 don't have brk() */
   if (first_break == NULL)
     first_break = (char *) sbrk (0);
@@ -71,7 +71,7 @@ xmalloc (size)
   newmem = malloc (size);
   if (!newmem)
     {
-#if ! defined (_WIN32) || defined (__CYGWIN32__)
+#if defined (HAVE_SBRK) && (! defined (_WIN32) || defined (__CYGWIN32__))
       extern char **environ;
       size_t allocated;

@@ -109,7 +109,7 @@ xrealloc (oldmem, size)
     newmem = realloc (oldmem, size);
   if (!newmem)
     {
-#ifndef __MINGW32__
+#if defined (HAVE_SBRK) && !defined (__MINGW32__)
       extern char **environ;
       size_t allocated;


